Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лекція
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла

Міністерство освіти та науки України НУ „Львівська політехніка” Лекція №11 з курсу: «Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах» Львів - 2010 Розділ 9. Символьні типи даних. Символьні дані можуть зберігати текст, наприклад, для виводу на екран або у вікно діалогу. Символьні дані – це простий ланцюжок з чисел. Кожне число – це порядковий номер символу в таблиці символів. Наприклад, якщо представити наш алфавіт у вигляді таблиці символів (тільки представити), то число 0 означатиме букву А, число 1 означатиме букву Б, і так далі. У Delphi використовується 8-бітова розширена таблиця символів, де задіяні всі 8 бітів (ASCII - American Standard Code for Information Interchange – таблиця, 0-255 символів). Ця таблиця береться з самої операційної системи - Windows. Отже кількість символів і їх розташування залежить від ОС. Для того, щоб задовольнити всі національності, вже давно ввели підтримку UNICODE (16-бітова таблиця, 65536 символів). У ній перші 8 біт співпадають з таблицею ANSI, а інші є специфічними. Починаючи з Windows 2000, це кодування починає використовуватися все ширше і ширше. Рис. 1.1. Розкладка UNICODe кодування для BMP-Basic Multilingual Plane (Plane 0) У Delphi присутні наступні основні типи символів і стрічок: ASCIIU+0000LatinGreekCyrillicHebrewArabicIndicThaiFuture usePunctuationSymbolsU+FFFFKanaOther CJKIdeographsHangulSurrogatesPrivate useCompatibility Тип Максимальна довжина рядка Пам'ять що відводиться для збереження рядка Примітка AnsiChar 1 байт ANSI WideChar 2 байт UNICODE Char 1 байт Родовий символьний тип ShortString 255 символів Від 2 до 256 байт AnsiString 231 Від 4 байтів до 2 Гбайт 8 бітові WideString 230 Від 4 байтів до 2 Гбайт UNICODE ( вказівних типа Pointer, Pchar , Text ) В ShortString – стрічках текуча довжина вказується в нульовому (індекс нуль) елементі стрічки. В цьому елементі записується символ, код якого дорівнює значенню текучої довжини. Нульовий елемент стрічки при цьому зроблений невидимим для користувача. Оскільки кожен символ займає один байт пам’яті, то при такому способі способі вказання довжини, максимально допустима довжина стрічки буде обмежена максимальним значенням, яке можна записати в один байт пам’яті, не більше 255 символів. n – фіксована загальна довжина стрічки; p – текуча довжина стрічки. var Smax2: ShortString; На відміну від ShortString – стрічок, пам’ять під довгі стрічки AnsiString виділяються не статично а динамічно. Крім того, AnsiString – стрічка не має максимальної довжини, що встановлюеться при оголошенні, а тільки динамічну текучу довжину. Спільним для обох типів стрічок є наявність дескриптора. Однак якщо для коротких стрічок дескриптор має простий вид додаткового нульового елемента, в якому зберігається текуча довжина стрічки, то у довгих стрічок дескриптор предсталяє собою більш складну структуру довжиною 8 байтів яка має наступний вид: 012345111012761398BADRLNOСимвол, код якого дорівнює 7.14p = 7n = 14 Текуча довжина стрічки(4 байта) Лічильник посилань на стрічку(4 байта) Змінна типу AnsiString представляє собою 4-х байтовий вказівник на дескриптор наведеної структури, безпосередньо за яким в пам’яті розмішається символи стрічки. Якщо довжина стрічки має нульову довжину, то пам’ять під неї і під дескриптор не виділяється, а відповідна змінна має значення nil. Внутрішня будова довгої стрічки в пам’яті можна представити як представлено на малюнку. var LongStr1, LongStr2: AnsiString; // Після обробки оголошення значення вказівника на стрічку // AnsiString встановлюється в nil begin LongStr1 := ’Дуже довга стрічка ..........Дуже довга стрічка’; // Після такого присвоення структура стрічки AnsiString буде мати //наступний вигляд Рис. Внутрішня будова довгої стрічки в пам’яті Стрічки типу AnsiString мають ще одну особливість, яка пов’язана з лічильником посилань на стрічку, що входять ...
Антиботан аватар за замовчуванням

17.02.2013 23:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини